Code
makestars <- function(pvalues) {
return(
dplyr::case_when(
pvalues < 0.001 ~ "$***$",
pvalues < 0.05 ~ "$**$",
pvalues < 0.1 ~ "$*$",
.default = ""
)
)
}
gtgazer <- function(model, n_coef = 4, coefnames, description, title, bg_color) {
coefficients <- summary(model)$coefTable[1:n_coef, 1]
std_values <- summary(model)$coefTable[1:n_coef, 2]
pvalues <- summary(model)$coefTable[1:n_coef, 4]
signif <- makestars(pvalues)
r2 <- round(summary(model)$r2, 3)
adj_r2 <- round(summary(model)$r2bar, 3)
n <- summary(model)$nObs
dep_variable <- summary(model)$yName
coefnames <- coefnames
description <- description
reg_results <- data.frame(cbind(coefnames, description, coefficients, std_values, pvalues, signif)) |>
tibble() |>
mutate(across(c(coefficients, std_values, pvalues), as.numeric))
table <- reg_results |>
gt(rowname_col = "coefnames") |>
cols_label(
description = md("**Description**"),
coefficients = md("**Coefficients**"),
std_values = md("**Ecart Type**"),
pvalues = md("**Pvalues**"),
signif = md("**Significativité**")
) |>
fmt_markdown(columns = c(coefnames, signif, description)) |>
fmt_number(columns = c(coefficients, pvalues), decimals = 3) |>
fmt(columns = std_values, fns = function(std) {
paste("+/-", round(std, 3))
}) |>
tab_footnote(footnote = md(sprintf("*Observations* : %s", n))) |>
tab_footnote(footnote = md("***")) |>
tab_footnote(footnote = md(sprintf("$R^2=$ %s", r2))) |>
tab_footnote(footnote = md(sprintf("$R^2_{adj}=$ %s", adj_r2))) |>
tab_header(
title = md(title),
subtitle = md(sprintf("Variable dépendante : *%s*", dep_variable))
) |>
tab_options(
table.background.color = bg_color
)
return(table)
}1 Imports et configuration
Code
library(ggplot2)
library(dplyr)
library(readxl)
library(micEcon)
library(stargazer)
library(gt)
library(tibble)
library(knitr)
library(plotly)
library(patchwork)
library(showtext)
library(FactoMineR)
library(factoextra)
library(ggtext)
library(micEconIndex)Code
bg_color <- "#FCFCFC"
alpha <- 0.7Code
theme_set(theme_minimal())
thematic::thematic_on(bg = "#FCFCFC", fg = "black", accent = "purple", font = "PT Sans")2 Description des données
Le jeu de données appleProdFr86 utilisé dans le papier d’économétrie de Ivaldi et al. (1996) comprend des données transversales de production de 140 producteurs de pommes français datant de l’année 1986.
Code
apples <- read_excel("data/appleProdFr86.xlsx")| Colonnes | Description |
|---|---|
vCap |
Coûts associés au capital (foncier compris). |
vLab |
Coûts associés au travail (y compris la rémunération du travail familial non rémunéré). |
vMat |
Coûts des matières intermédiaires (plantations, engrais, pesticides, carburant, etc). |
qApples |
Indice de quantité des pommes produites. |
qOtherOut |
Indice de quantité de tous les autres outputs. |
qOut |
Indice de quantité de toute la production \(\Rightarrow 580000 \cdot (\text{qApples} + \text{qOtherOut})\) |
pCap |
Indice des prix du capital. |
pLab |
Indice des prix du travail. |
pMat |
Indice des prix des matières intermédiaires. |
pOut |
Indice des prix de la production globale. |
adv |
Distingue les producteurs qui sont conseillés par des laboratoires d’agronomie. |
2.1 Tableau descriptif
Ce tableau descriptif retrace les 10 premières observations et l’ensemble des variables associées dans le dataset.
Code
apples |>
head(n = 10) |>
gt() |>
tab_header(
title = md("**Producteurs de pommes 🍎**"),
subtitle = md("*140 producteurs* 🇫🇷 *(1986)*")
) |>
tab_source_note(
source_note = "Source: Ivaldi et al. (1996)"
) |>
tab_spanner(
label = "Costs",
columns = c("vCap", "vLab", "vMat")
) |>
tab_spanner(
label = "Price Index",
columns = c("pCap", "pLab", "pMat", "pOut")
) |>
tab_spanner(
label = "Quantity Index",
columns = c("qApples", "qOtherOut", "qOut")
) |>
tab_style(
style = list(
cell_fill(color = "lavenderblush")
),
location = cells_body(columns = c(vCap, vLab, vMat))
) |>
tab_style(
style = list(
cell_fill(color = "ivory")
),
location = cells_body(columns = c(qApples, qOtherOut, qOut))
) |>
tab_style(
style = list(
cell_fill(color = "aliceblue")
),
location = cells_body(columns = c(pCap, pLab, pMat, pOut))
) |>
fmt_number(suffixing = TRUE, n_sigfi = 2) |>
text_case_match(
"1.0" ~ fontawesome::fa("check"),
"0" ~ fontawesome::fa("xmark"),
.locations = cells_body(columns = adv)
) |>
tab_options(
table.background.color = bg_color
)| Producteurs de pommes 🍎 | ||||||||||||||
| 140 producteurs 🇫🇷 (1986) | ||||||||||||||
| N | Costs | Quantity Index | Price Index | adv | qCap | qLab | qMat | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| vCap | vLab | vMat | qApples | qOtherOut | qOut | pCap | pLab | pMat | pOut | |||||
| 1 | 220K | 320K | 300K | 1.4 | 0.98 | 1.4M | 2.6 | 0.90 | 8.9 | 0.66 | 84K | 360K | 34K | |
| 2 | 130K | 190K | 260K | 0.86 | 1.1 | 1.1M | 3.3 | 0.75 | 6.4 | 0.72 | 40K | 250K | 41K | |
| 3 | 81K | 130K | 91K | 3.3 | 0.40 | 2.2M | 2.2 | 0.96 | 3.7 | 0.94 | 37K | 140K | 24K | |
| 4 | 34K | 110K | 60K | 0.44 | 0.44 | 510K | 1.6 | 1.3 | 3.2 | 0.60 | 21K | 83K | 19K | |
| 5 | 39K | 84K | 100K | 1.8 | 0.015 | 1.1M | 0.87 | 0.94 | 7.2 | 0.83 | 45K | 89K | 14K | |
| 6 | 120K | 520K | 580K | 8.5 | 0.43 | 5.2M | 1.0 | 0.96 | 9.6 | 1.4 | 120K | 550K | 60K | |
| 7 | 89K | 170K | 340K | 4.1 | 3.3 | 4.3M | 0.98 | 1.0 | 7.8 | 1.3 | 91K | 170K | 44K | |
| 8 | 92K | 200K | 130K | 2.2 | 1.1 | 1.9M | 1.0 | 0.92 | 5.0 | 0.62 | 89K | 220K | 25K | |
| 9 | 66K | 180K | 190K | 1.8 | 2.6 | 2.5M | 2.5 | 1.0 | 5.6 | 1.9 | 27K | 180K | 34K | |
| 10 | 94K | 140K | 82K | 1.6 | 0.45 | 1.2M | 0.98 | 0.64 | 5.6 | 0.49 | 95K | 220K | 15K | |
| Source: Ivaldi et al. (1996) | ||||||||||||||
3 Statistiques descriptives
3.1 Productivité moyenne des facteurs de production
La productivité moyenne (\(AP =\) Average Product) consiste à diviser la quantité totale d’output par la quantité totale de facteur utilisé (input) dans le processus de production.
Imaginons que les unités d’output sont des tonnes. Pour chaque input, cela revient en fait à expliquer combien de tonnes sont produites par unité de capital, de travail et de matières intermédiaires en 1986 pour chaque producteur de pommes.
Nous obtenons alors respectivement :
\(AP_{Cap} = \frac{q_{Out}}{q_{Cap}}\)
\(AP_{Lab} = \frac{q_{Out}}{q_{Lab}}\)
\(AP_{Mat} = \frac{q_{Out}}{q_{Mat}}\)
Code
apples <- apples |> mutate(
AP_Cap = qOut / qCap,
AP_Lab = qOut / qLab,
AP_Mat = qOut / qMat
)Code
tibble_AP_Cap <- apples |>
summarise(min = min(AP_Cap), mean = mean(AP_Cap), max = max(AP_Cap), std = sd(AP_Cap)) |>
add_column(type = "$AP_{Cap}$", .before = "min")
tibble_AP_Lab <- apples |>
summarise(min = min(AP_Lab), mean = mean(AP_Lab), max = max(AP_Lab), std = sd(AP_Lab)) |>
add_column(type = "$AP_{Lab}$", .before = "min")
tibble_AP_Mat <- apples |>
summarise(min = min(AP_Mat), mean = mean(AP_Mat), max = max(AP_Mat), std = sd(AP_Mat)) |>
add_column(type = "$AP_{Mat}$", .before = "min")
AP_table <- bind_rows(tibble_AP_Cap, tibble_AP_Lab, tibble_AP_Mat)
AP_table |>
gt() |>
fmt_markdown(columns = type) |>
fmt_number(columns = c(-type)) |>
tab_header(
title = md("**Productivité Moyenne par Facteur 📋**"),
subtitle = md("*Capital --- Travail --- Matériaux*")
)| Productivité Moyenne par Facteur 📋 | ||||
| Capital — Travail — Matériaux | ||||
| type | min | mean | max | std |
|---|---|---|---|---|
\(AP_{Cap}\) |
1.45 | 32.64 | 152.87 | 29.25 |
\(AP_{Lab}\) |
0.86 | 10.21 | 25.63 | 6.20 |
\(AP_{Mat}\) |
8.22 | 90.64 | 301.43 | 60.43 |
Ce tableau, en plus des visualisations qui vont suivre, permet d’établir que les productivités moyennes par facteur sont très différentes selon les producteurs. De plus, on s’aperçoit aussi qu’investir dans un facteur particulier peut être plus intéressant qu’un autre.
C’est particulièrement vrai pour le facteur Mat avec une productivité moyenne minimale de 8.22 unités d’output pour une unité de matériaux et jusqu’à 301.43 unités d’output pour une unité de matériaux.
Code
apples |>
ggplot() +
aes(x = AP_Cap) +
geom_histogram(binwidth = 1.25, fill = "darkgreen", alpha = alpha) +
labs(title = "Productivité Moyenne du Capital", subtitle = "Pour une unité de capital, combien d'unités d'output sont produits ?", x = "", y = "Fréquence")Code
apples |>
ggplot() +
aes(x = AP_Lab) +
geom_histogram(binwidth = 0.75, fill = "orange", alpha = alpha) +
labs(title = "Productivité Moyenne du Travail", subtitle = "Pour une unité de travail, combien d'unités d'output sont produits ?", x = "", y = "Fréquence")Code
apples |>
ggplot() +
aes(x = AP_Mat) +
geom_histogram(binwidth = 1.5, fill = "darkorchid", alpha = alpha) +
labs(title = "Productivité Moyenne des matériaux", subtitle = "Pour une unité de matériaux, combien d'unités d'output sont produits ?", x = "", y = "Fréquence")3.2 Corrélations entre les quantités des 3 facteurs de production
Code
apples |>
select(qCap, qLab, qMat) |>
cor() |>
round(2) |>
data.frame() |>
gt() |>
tab_header("Matrice de corrélation")| Matrice de corrélation | ||
| qCap | qLab | qMat |
|---|---|---|
| 1.00 | 0.59 | 0.66 |
| 0.59 | 1.00 | 0.79 |
| 0.66 | 0.79 | 1.00 |
3.3 Corrélations entre les productivités moyennes
Essayons de comprendre comment les productivités moyennes individuelles sont corrélées :
Code
apples |>
select(starts_with("AP")) |>
cor() |>
round(2) |>
data.frame() |>
gt() |>
tab_header("Matrice de corrélation")| Matrice de corrélation | ||
| AP_Cap | AP_Lab | AP_Mat |
|---|---|---|
| 1.00 | 0.51 | 0.46 |
| 0.51 | 1.00 | 0.73 |
| 0.46 | 0.73 | 1.00 |
Code
CL <- apples |>
ggplot() +
aes(x = AP_Cap, y = AP_Lab) +
geom_point(colour = "slategray", alpha = alpha)
ML <- apples |>
ggplot() +
aes(x = AP_Mat, y = AP_Lab) +
geom_point(colour = "gray", alpha = alpha)
CM <- apples |>
ggplot() +
aes(x = AP_Cap, y = AP_Mat) +
geom_point(colour = "gray21", alpha = alpha)
prod_plots <- (CL + ML) / CM
prod_plots + plot_annotation(
title = "Croisement des productivités moyennes",
subtitle = "Quelles sont les relations existantes entre les différentes productivités moyennes ?",
caption = "Auteurs : @Corentin DUCLOUX, @Guillaume DEVANT, 2024 "
)Code
QC <- apples |>
ggplot() +
aes(y = qOut, x = AP_Cap) +
geom_point(colour = "darkgreen", alpha = alpha) +
labs(y = "")
QL <- apples |>
ggplot() +
aes(y = qOut, x = AP_Lab) +
geom_point(colour = "orange", alpha = alpha) +
labs(y = "")
QM <- apples |>
ggplot() +
aes(y = qOut, x = AP_Mat) +
geom_point(colour = "darkorchid", alpha = alpha) +
labs(y = "")
qOut_prod_plots <- (QC + QL) / QM
qOut_prod_plots + plot_annotation(
title = "Productivité moyenne par rapport à l'output total",
subtitle = "Quelles sont les relations existantes entre les productivités moyennes des inputs et de l'output ?",
caption = "Auteurs : @Corentin DUCLOUX, @Guillaume DEVANT, 2024 "
)3.4 Paasche ou Laspeyres ou Fisher
Les productivités moyennes nous donnent une indication facteur par facteur, mais elles ne nous donnent pas nécessairement d’information globale. Dans ce cadre, on peut alors se demander comment agréger des quantités avec une règle ad-hoc en un indice synthétique.
3 Indices principaux existent
\[ \text{Paasche}_{index} = \frac{(v_{Cap} + v_{Lab} + v_{Mat})}{{\bar{q}_{Cap}}\cdot p_{Cap} + \bar{q}_{Lab}\cdot p_{Lab} + \bar{q}_{Mat} \cdot p_{Mat}} \]
\[ \text{Laspeyres}_{index} = \frac{(q_{Cap} \cdot \bar{p}_{Cap} + q_{Lab} \cdot \bar{p}_{Lab} + q_{Mat} \cdot \bar{p}_{Mat})}{(\bar{q}_{Cap}\cdot \bar{p}_{Cap}+\bar{q}_{Lab}\cdot \bar{p}_{Lab}+\bar{q}_{Mat}\cdot \bar{p}_{Mat})} \]
\[ \text{Fisher}_{index} = \sqrt{\text{Paasche}_{index} \cdot \text{Laspeyres}_{index}} \]
De plus, la fonction quantityIndex du package micEconIndex a l’intérêt de facilement intégrer les calculs de chaque indice.
Code
apples <- apples |> mutate(
L_Index = quantityIndex(
prices = c("pCap", "pLab", "pMat"),
quantities = c("qCap", "qLab", "qMat"),
data = apples,
method = "Laspeyres"
),
P_Index = quantityIndex(
prices = c("pCap", "pLab", "pMat"),
quantities = c("qCap", "qLab", "qMat"),
data = apples,
method = "Paasche"
),
F_Index = quantityIndex(
prices = c("pCap", "pLab", "pMat"),
quantities = c("qCap", "qLab", "qMat"),
data = apples,
method = "Fisher"
)
)3.5 Indice de productivité globale des facteurs
- Nous avons choisi en tant qu’indice de productivité globale des facteurs l’indice de Fisher, étant donné que c’est une moyenne géométrique de l’indice de Paasche et de celui de Laspeyres.
Code
apples |>
ggplot() +
aes(x = F_Index) +
geom_histogram(binwidth = 0.25, fill = "darkred", alpha = 0.7) +
labs(title = "Productivité globale", x = "Productivité", y = "Fréquence")Code
apples |>
ggplot() +
aes(y = qOut, x = F_Index) +
geom_point(colour = "darkorchid", alpha = alpha) +
labs(title = "Relation entre l'indice de productivité globale des facteurs et l'output", y = "")Code
apples <- apples |> mutate(
adv_chr = case_when(
adv == 0 ~ "No advice",
adv == 1 ~ "Advice",
)
)
apples |>
ggplot() +
aes(y = F_Index, x = adv_chr, fill = adv_chr) +
geom_boxplot() +
labs(title = "Productivité globale en fonction du conseil ou non d'un laboratoire", x = "", y = "") +
theme(legend.position = "None")Code
apples_grouped <- apples |>
select(adv_chr, F_Index) |>
group_by(adv_chr) |>
summarise(mean = mean(F_Index))
mean_advice <- apples_grouped |>
slice(1) |>
pull()
mean_no_advice <- apples_grouped |>
slice(2) |>
pull()- En moyenne, il n’y a pas de différence de productivité globale lorsque le producteur est conseillé. La productivité moyenne avec conseil est 0.95 et la productivité moyenne sans conseil est 1.
On peut aussi s’assurer que les moyennes sont significativement différentes en faisant un test de Student bilatéral :
\[ \begin{cases} H_0:\mu_{advice} =\mu_{no\_advice}\\ H_1:\mu_{advice} \neq\mu_{no\_advice} \end{cases} \]
Code
advice <- apples |>
select(adv_chr, F_Index) |>
filter(adv_chr == "Advice") |>
pull()
no_advice <- apples |>
select(adv_chr, F_Index) |>
filter(adv_chr == "No advice") |>
pull()
t_test <- t.test(advice, no_advice, var.equal = F)
pval_t_test <- t_test$p.value\(\Rightarrow\) Au risque \(\alpha = 5\%\), la \(p-value =\) 0.64 \(> 0.05\), on conserve donc l’hypothèse nulle \(H_0\).
4 Analyse exploratoire
L’ACP permet de constater qu’il y a une opposition entre le prix du capital et la quantité de capital, ce qui est économiquement trivial. De plus on observe un fort lien entre le prix du capital et le prix des outputs.
Code
# apples_acp <- apples[-c(96, 129), -c(1, 16:20)]
# acp <- PCA(apples_acp, graph = FALSE)
# fviz_pca_biplot(acp,
# repel = TRUE,
# title = "ACP - Biplot",
# label = "var",
# col.var = "royalblue",
# col.ind = "orange",
# axes = c(1, 2)
# )Code
# https://r-charts.com/distribution/histogram-density-ggplot2/
apples |>
ggplot(aes(x = log(qOut))) +
geom_histogram(aes(y = ..density..),
alpha = 0.6,
bins = 25,
fill = "royalblue",
color = "royalblue"
) +
labs(
x = "log()",
y = "Fréquence"
) +
theme(plot.title = element_markdown(face = "bold", size = 15)) +
ggtitle("Densité <span style='color:royalblue'>log(qOut)</span> vs. <span style='color:darkred'>loi normale</span>") +
geom_density(
color = "royalblue",
linewidth = 1
) +
stat_function(
fun = dnorm,
args = list(
mean = mean(log(apples$qOut)),
sd = sd(log(apples$qOut))
),
color = "darkred",
linewidth = 1
)Warning: The dot-dot notation (`..density..`) was deprecated in ggplot2 3.4.0.
ℹ Please use `after_stat(density)` instead.
Le test de normalité confirme statistiquement le fait que les données
log(qOut)suivent une distribution normale (p.value > 0.05)
Code
shapiro.test(log(apples$qOut))
Shapiro-Wilk normality test
data: log(apples$qOut)
W = 0.98429, p-value = 0.1094
5 Fonction de production linéaire
\[ q_i = \alpha + \sum_{k=1}^3\beta_k x_{ik} + \epsilon_i \]
- La fonction de production linéaire dans notre cas s’écrit donc sous la forme :
\[ q_{Out} = \alpha + \beta_1 q_{Cap} + \beta_2 q_{Lab} + \beta_3 q_{Mat} + \epsilon_i \]
On a pu constater un lien indéniable entre la quantité produite (qOut) et les productivités moyennes. On peut alors légitimement penser qu’il y a une relation entre la quantité produite et les quantités des facteurs de production. On peut effectuer une régression linéaire pour observer cette relation.
La relation linéaire est significative entre qOut et les variables explicatives qMat et qLab. Le \(R^2\), supérieur à 0.78, démontre la bonne qualité de la régression. De ce modèle on peut dire que la quantité produite dépend principalement de la quanité de travail et de matière première engagé.
Code
reg_qOut_AP <- lm(qOut ~ qMat + qLab + qCap, data = apples)
stargazer(reg_qOut_AP, type = "text")
===============================================
Dependent variable:
---------------------------
qOut
-----------------------------------------------
qMat 46.668***
(11.234)
qLab 11.831***
(1.272)
qCap 1.788
(1.995)
Constant -1,615,979.000***
(231,771.700)
-----------------------------------------------
Observations 140
R2 0.787
Adjusted R2 0.782
Residual Std. Error 1,540,737.000 (df = 136)
F Statistic 167.318*** (df = 3; 136)
===============================================
Note: *p<0.1; **p<0.05; ***p<0.01
6 Fonction Cobb-Douglas
La forme est généralisée à \(N\) inputs.
\[y = A \prod_{k=1}^N x_k^{a_k}\]
Dans le cadre de cette étude comparative, nous avons 3 inputs :
qCap\(\Rightarrow\) la quantité de capitalqLab\(\Rightarrow\) la quantité de travailqMat\(\Rightarrow\) la quantité de matériaux
Nous obtenons donc la forme suivante :
\[q_{Out} = A\cdot q_{Cap}^\alpha \cdot q_{Lab}^\beta \cdot q_{Mat}^\gamma\]
Avec \(A, \alpha, \beta, \gamma \Rightarrow\) 4 paramètres à estimer.
On peut facilement linéariser la fonction, dès lors on obtient :
\[ \ln(q_{out}) = \ln(A) + \alpha \cdot \ln(q_{Cap}) + \beta \cdot \ln(q_{Lab}) + \gamma \cdot \ln(q_{Mat}) \]
Allen Elasticity of Substitution (AES)
\(\sigma_{\{\text{qCap, qLab, qMat}\}} = 1\)
Rappel : Si la fonction de production est Cobb-Douglas, alors on a normalement \(\hat\alpha + \hat\beta + \hat\gamma = 1\)
On peut tester cette hypothèse :
\[ \begin{cases} H_0 : \alpha + \beta + \gamma = 1\\ H_1 : \alpha + \beta + \gamma \neq 1\\ \end{cases} \]
- Les entreprises les plus grosses sont les plus productives.
Code
# Estime une fonction de production Cobb Douglas avec l'argument linear
cd_prod <- translogEst(
"qOut",
c("qCap", "qLab", "qMat"),
apples,
linear = TRUE
)
# elasticities(cd_prod)
# elasticities(quad_prod)Code
gtgazer(
cd_prod,
n_coef = 4,
coefnames = c("$A$", "$\\alpha$", "$\\beta$", "$\\gamma$"),
description = c(
"- Constante du modèle",
"- Coefficient associé à la variable `qCap`",
"- Coefficient associé à la variable `qLab`",
"- Coefficient associé à la variable `qMat`"
),
title = "**Fonction de production Cobb-Douglas**",
bg_color = bg_color
)| Fonction de production Cobb-Douglas | |||||
| Variable dépendante : qOut | |||||
| Description | Coefficients | Ecart Type | Pvalues | Significativité | |
|---|---|---|---|---|---|
\(A\) |
|
−2.064 | +/- 1.313 | 0.118 | |
\(\alpha\) |
|
0.163 | +/- 0.087 | 0.064 | \(*\) |
\(\beta\) |
|
0.676 | +/- 0.154 | 0.000 | \(***\) |
\(\gamma\) |
|
0.627 | +/- 0.126 | 0.000 | \(***\) |
| Observations : 140 | |||||
| |
|||||
| \(R^2=\) 0.594 | |||||
| \(R^2_{adj}=\) 0.585 | |||||
Code
summary(cd_prod$est)
Call:
lm(formula = as.formula(estFormula), data = estData)
Residuals:
Min 1Q Median 3Q Max
-1.67239 -0.28024 0.00667 0.47834 1.30115
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.06377 1.31259 -1.572 0.1182
a_1 0.16303 0.08721 1.869 0.0637 .
a_2 0.67622 0.15430 4.383 2.33e-05 ***
a_3 0.62720 0.12587 4.983 1.87e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.656 on 136 degrees of freedom
Multiple R-squared: 0.5943, Adjusted R-squared: 0.5854
F-statistic: 66.41 on 3 and 136 DF, p-value: < 2.2e-16
7 Fonction de production quadratique
Code
quad_prod <- quadFuncEst(
"qOut",
c("qCap", "qLab", "qMat"),
apples
)
summary(quad_prod$est)
Call:
lm(formula = as.formula(estFormula), data = estData)
Residuals:
Min 1Q Median 3Q Max
-3928802 -695518 -186123 545509 4474143
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.911e+05 3.615e+05 -0.805 0.422072
a_1 5.270e+00 4.403e+00 1.197 0.233532
a_2 6.077e+00 3.185e+00 1.908 0.058581 .
a_3 1.430e+01 2.406e+01 0.595 0.553168
b_1_1 5.032e-05 3.699e-05 1.360 0.176039
b_1_2 -3.097e-05 1.498e-05 -2.067 0.040763 *
b_1_3 -4.160e-05 1.474e-04 -0.282 0.778206
b_2_2 -3.084e-05 2.081e-05 -1.482 0.140671
b_2_3 4.011e-04 1.112e-04 3.608 0.000439 ***
b_3_3 -1.896e-03 8.951e-04 -2.118 0.036106 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1344000 on 130 degrees of freedom
Multiple R-squared: 0.8449, Adjusted R-squared: 0.8342
F-statistic: 78.68 on 9 and 130 DF, p-value: < 2.2e-16
8 Others
Code
apples <- apples |> mutate(cost = vCap + vLab + vMat)- Avec la fonction de cout on trouve 2.7 – à vérifier
\(\Rightarrow\) Estimer des fonctions de cout, les rendements d’échelle, estimer la fonction CES, la leontieff généralisée, calculer le profit des producteurs, lien entre efficacité, optimalité, vérifier hétéroscédasticité, modèles SFA et DEA potentiellement.
La translog ayant bcp plus de paramètres, ce ne sera pas forcément la bonne forme fonctionnelle !
Etudier les substitutions entre les facteurs ? Comment faire ? Car la Cobb Douglas ne permet pas de le faire.
Code
cobbDouglasCalc(c("qCap", "qLab", "qMat"), apples, coef(cd_prod)[1:4], coefCov = NULL, dataLogged = FALSE) 1 2 3 4 5 6 7
3211442.9 2484348.9 1198934.2 659255.2 657608.3 6440150.6 2289560.6
8 9 10 11 12 13 14
1941829.7 1643085.0 1393628.8 1065518.4 2532062.5 1142644.8 1990393.7
15 16 17 18 19 20 21
1804586.9 2486696.5 623801.8 4674844.6 652055.8 1602756.5 3585652.8
22 23 24 25 26 27 28
3105133.1 1962299.4 1894850.1 1730990.1 2028057.2 1236923.3 3120162.0
29 30 31 32 33 34 35
857551.9 1283936.8 1591240.6 1112374.7 1104836.2 1990082.5 2286930.2
36 37 38 39 40 41 42
1050671.7 670978.8 385308.3 617220.9 947210.5 1523069.4 1590208.7
43 44 45 46 47 48 49
1152166.4 874268.3 856786.7 1501912.2 812992.3 1433944.5 1169689.9
50 51 52 53 54 55 56
761120.5 655665.9 737223.4 623412.9 541717.9 1239529.1 1182383.1
57 58 59 60 61 62 63
1401808.7 628116.7 507950.3 2747396.1 539581.5 1055087.5 3550349.5
64 65 66 67 68 69 70
935872.0 1410581.5 5799225.5 4578344.7 2308627.1 5785802.2 8756920.8
71 72 73 74 75 76 77
936486.7 859620.4 940655.3 461623.9 848543.7 2309804.2 1241075.8
78 79 80 81 82 83 84
456956.7 723527.6 395900.6 692132.4 6173798.8 936641.2 6561521.0
85 86 87 88 89 90 91
3007107.9 4707504.1 1821147.0 1274546.0 1539352.9 10076301.8 1887415.3
92 93 94 95 96 97 98
1941222.6 3696158.0 6802400.4 1055932.4 23101792.2 1334995.9 1869797.5
99 100 101 102 103 104 105
3712233.4 1116260.1 4223297.1 4854943.6 1385925.9 1748553.8 2053107.4
106 107 108 109 110 111 112
1458847.1 2051602.9 643613.7 5267349.8 3902378.1 1836245.8 2455677.3
113 114 115 116 117 118 119
1624723.3 1560690.4 953841.4 710120.9 1658775.2 1321024.4 1312615.0
120 121 122 123 124 125 126
2743290.7 1054216.7 1320798.9 1262051.7 2844557.5 2947324.2 407556.6
127 128 129 130 131 132 133
825951.6 1757610.8 17344690.0 1679538.3 2161094.8 5913745.0 1058384.3
134 135 136 137 138 139 140
7738514.2 561868.8 1386779.3 7276857.5 1834723.0 556354.7 2416013.3
9 Infos sur le sujet | ROADMAP
\[ Q = f(QCAP, QLAB, QMAT)\\ \]
il y a aussi les infos sur \(C(Q)\)
- Expliquer les différences de profits entre les producteurs ? Regarder du coté des fonctions de profit.
Propriété de la CD => si la fonction de prod est cobb douglas, alors la fonction de coût l’est aussi.
alpha y => mesure des rendements d’échelle…
Pour la question 7, o nintègre la quantité d’inputs comme variable explicative => fonction de cout de court terme
Fonction de cout qui intègre que la quantité de capital ne change pas instantanément
Rendements d’échelle (somme des exposants) => on peut trouver ces rendements d’échelle soit en faisant la fonction de coût, ou la fonction de production. Mais on peut aussi les estimer grace à une fonction de demande
DEUX CHOSES ESSENTIELLES
- Il faut estimer les substitutions entre facteurs
- Les rendements d’échelle
Dans la cobb douglas les substitutions entre facteurs il est constant et c’est 1.
Regarder le \(\prod\)
9.1 Notes sur la translog Cost
On pourrait tt à fait estimer le système d’équations suivant :
Voir aussi la slide 78 sur la fonction \(\ln C\)
\[ \begin{cases} S_1 = \alpha_1 + \sum^3_{i=1} \beta_{1j}\ln p_j + \beta_{1y}\ln y\\ S_2 = \alpha_2 + \sum^3_{i=1} \beta_{2j}\ln p_j + \beta_{2y}\ln y\\ S_3 = \alpha_3 + \sum^3_{i=1} \beta_{3j}\ln p_j + \beta_{3y}\ln y \end{cases} \]
Inconvénients dans la translog et des formes flexibles :
Le nombre de paramètres explose à cause des effets croisés et risque important de collinéarité.
Quand on passe au système au tableau, on a augmenté à 3*140 données (420 observations) et on a un peu moins de paramètres
done 💅